<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>遍历数组练习（课程方法）</title>
</head>
<body>
    
</body>
</html>
<script>
    // 创建一个构造函数
    function Person(name,age){
        this.name = name;
        this.age = age;
    }

    // 修改Person原型的toString
    Person.prototype.toString=function(){
        return "Person[name="+this.name+",age="+this.age+"]";
    };
    
    // 创建一个Person对象
    var per = new Person("孙悟空",18);
    var per2 = new Person("猪八戒",28);
    var per3 = new Person("红孩儿",8);
    var per4 = new Person("蜘蛛精",16);
    var per5 = new Person("二郎神",38);

    /*
        将这些person对象放入到一个数组中
    */
    var perArr = [per,per2,per3,per4,per5];
    console.log(perArr);

    /*
        创建一个函数，可以将perArr中满18岁的Person提取出来
            然后封装到一个新的数组中
        arr
            形参，要提取信息的数组
    */

    function getAdult(arr){

        //创建一个新数组
        var newArr =[];

        //遍历arr，获取arr中的Person对象
        for(var i=0;i<arr.length;i++){

            //判断Person对象的 age 是否大于18
            if(arr[i].age>=18){

                //如果大于等于18，则将这个对象添加到newArr中
                newArr.push(perArr[i].name);
            }
            // 题目未要求，可有可无  ↓ ↓
            else{
                document.write(perArr[i].name+"未成年 ");
            }
            
        }
        // 返回新数组
        return newArr;
    }
    var result = new getAdult(perArr);
    console.log(result);
    document.write("<br>已经成年的有："+result);
</script>